package com.alks.entity.data.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author Tan
 * @since 2024-05-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("PC_EMP_ATTEND")
@ApiModel(value="PcEmpAttend对象", description="")
public class PcEmpAttend implements Serializable {

    private static final long serialVersionUID = 1L;

    private String companyId;

    @ApiModelProperty(value = "工号",name = "workerId")
    private String workerId;

    @ApiModelProperty(value = "姓名",name = "workerName")
    private String workerName;

    @ApiModelProperty(value = "部门",name = "deptName")
    private String deptName;

    @ApiModelProperty(value = "日期",name = "ddate")
    private LocalDate ddate;

    private String amInTime;

    private String amOutTime;

    private String pmInTime;

    private String pmOutTime;

    private String overInTime;

    private String overOutTime;

    @ApiModelProperty(value = "迟到次数",name = "lateNums")
    private BigDecimal lateNums;

    @ApiModelProperty(value = "迟到分钟",name = "lateMinutes")
    private BigDecimal lateMinutes;

    @ApiModelProperty(value = "早退次数",name = "earlyNums")
    private BigDecimal earlyNums;

    @ApiModelProperty(value = "早退分钟",name = "earlyMinutes")
    private BigDecimal earlyMinutes;

    @ApiModelProperty(value = "加班次数",name = "overNums")
    private BigDecimal overNums;

    @ApiModelProperty(value = "加班时长",name = "overHours")
    private BigDecimal overHours;

    @ApiModelProperty(value = "请假分钟",name = "leaveDays")
    private BigDecimal leaveDays;

    private BigDecimal absentDays;

    private BigDecimal factoryHoliday;

    @ApiModelProperty(value = "旷工分钟",name = "outDays")
    private BigDecimal outDays;

    @ApiModelProperty(value = "正班实数",name = "workHours")
    private BigDecimal workHours;

    @ApiModelProperty(value = "检核状态",name = "cfmFlag")
    private String cfmFlag;

    private String cfmUser;

    private LocalDateTime cfmDate;

    @ApiModelProperty(value = "考勤备注")
    private String remark;

    public void setLateNums(BigDecimal lateNums) {
        if (lateNums == null) {
            this.lateNums = BigDecimal.ZERO;
        } else {
            this.lateNums = lateNums;
        }
    }

    public void setLateMinutes(BigDecimal lateMinutes) {
        if (lateMinutes == null) {
            this.lateMinutes = BigDecimal.ZERO;
        } else {
            this.lateMinutes = lateMinutes;
        }
    }

    public void setEarlyNums(BigDecimal earlyNums) {
        if (earlyNums == null) {
            this.earlyNums = BigDecimal.ZERO;
        } else {
            this.earlyNums = earlyNums;
        }
    }

    public void setEarlyMinutes(BigDecimal earlyMinutes) {
        if (earlyMinutes == null) {
            this.earlyMinutes = BigDecimal.ZERO;
        } else {
            this.earlyMinutes = earlyMinutes;
        }
    }

    public void setLeaveDays(BigDecimal leaveDays) {
        if (leaveDays == null) {
            this.leaveDays = BigDecimal.ZERO;
        } else {
            this.leaveDays = leaveDays;
        }
    }

    public void setOutDays(BigDecimal outDays) {
        if (outDays == null) {
            this.outDays = BigDecimal.ZERO;
        } else {
            this.outDays = outDays;
        }
    }

    public void setWorkHours(BigDecimal workHours) {
        if (workHours == null) {
            this.workHours = BigDecimal.ZERO;
        } else {
            this.workHours = workHours;
        }
    }
}
